package com.wkh.maker.cli.command;

import cn.hutool.core.util.ReflectUtil;
import com.wkh.maker.model.DataModel;
import picocli.CommandLine;

import java.lang.reflect.Field;

/**
 * @author wkh
 * config是一个辅助命令，作用是允许用户传入的动态参数的信息(MainTemplateConfig类中的属性信息)
 */
@CommandLine.Command(name = "config",description = "查看参数信息",mixinStandardHelpOptions = true)
public class ConfigCommand implements Runnable{

    @Override
    public void run() {
        //原生的Java反射语法
//        Class<DataModel> mainTemplateConfigClass = DataModel.class;
//        Field[] fields = mainTemplateConfigClass.getDeclaredFields();

        //使用Hutool提供的工具类
        Field[] fields = ReflectUtil.getFields(DataModel.class);
        for (Field field : fields) {
            System.out.println("字段名称："+field.getName());
            System.out.println("字段类型："+field.getType());
            System.out.println("------------------------");
        }
    }
}
